package dados.persistencias;

import java.util.List;

import javax.persistence.TypedQuery;

import negocio.erro.DaoException;
import basica.academico.DisciplinaAtiva;
import dados.geral.DAOGenerico;
import dados.interfaces.IDAODisciplinaAtiva;

public class DAODisciplinaAtiva extends DAOGenerico<DisciplinaAtiva> implements IDAODisciplinaAtiva{
	
	@Override
	public List<DisciplinaAtiva> pesquisarDisciplinaAtivaPorCurso(String curso) throws DaoException {
		TypedQuery<DisciplinaAtiva> query = entityManager.createQuery(
				"from DisciplinaAtiva disc where disc.turma.curso like :curso", DisciplinaAtiva.class);
		query.setParameter("curso", "%" + curso + "%");
		return query.getResultList();
	}

	@Override
	public List<DisciplinaAtiva> pesquisarDisciplinaAtivaPorCodigo(Integer codigo) throws DaoException {
		TypedQuery<DisciplinaAtiva> query = entityManager.createQuery(
				"from DisciplinaAtiva disc where disc.codigo = :codigo", DisciplinaAtiva.class);
		query.setParameter("codigo", "%" + codigo + "%");
		return query.getResultList();
	}
	
	@Override
	public List<DisciplinaAtiva> pesquisarDisciplinaAtivaPorSemestre(String semestre) throws DaoException {
		TypedQuery<DisciplinaAtiva> query = entityManager.createQuery(
				"from DisciplinaAtiva disc where disc.semestre = :semestre", DisciplinaAtiva.class);
		query.setParameter("semestre", "%" + semestre + "%");
		return query.getResultList();
	}
	
}
